-
Notifications
You must be signed in to change notification settings - Fork 772
Updating docs.mcp-agent.com for MCP-Agent Cloud #478
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- updating quick start code snippet - adding hyperlinks for examples
Caution Review failedThe pull request is closed. Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. WalkthroughDocumentation updates across cloud/site pages: introduces "Tools via Decorators" with @app.tool and @app.async_tool examples, enumerates built-in workflow tool endpoints, adds cloud deployment and cloud-specific client config guidance, rebrands to "mcp-agent cloud," streamlines onboarding/deploy flows, updates secrets/config examples, and marks Sampling supported in primitives. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor User as Client (Claude Desktop)
participant MCP as MCP Transport
participant Srv as MCP Server (mcp-agent app)
participant Tool as @app.tool
User->>MCP: tools/list
MCP->>Srv: GET /tools
Srv-->>MCP: tool metadata
MCP-->>User: tool list
User->>MCP: tools/call (research, args)
MCP->>Srv: POST /tools/call
Srv->>Tool: invoke research(args)
Tool-->>Srv: result
Srv-->>MCP: result
MCP-->>User: result
sequenceDiagram
autonumber
actor User as Client
participant MCP as MCP Transport
participant Srv as MCP Server
participant ATool as @app.async_tool
participant WF as Workflow Engine
rect rgba(220,245,255,0.6)
User->>MCP: workflows-run (tool, args)
MCP->>Srv: POST /workflows/run
Srv->>ATool: start durable tool
ATool->>WF: enqueue job
Srv-->>MCP: { run_id, status: "running" }
MCP-->>User: run_id
end
User->>MCP: workflows-get_status(run_id)
MCP->>Srv: GET /workflows/status
Srv->>WF: query status
WF-->>Srv: status/result
Srv-->>MCP: status/result
MCP-->>User: status/result
alt Cancel
User->>MCP: workflows-cancel(run_id)
MCP->>Srv: POST /workflows/cancel
Srv->>WF: cancel job
WF-->>Srv: canceled
Srv-->>MCP: { status: "canceled" }
MCP-->>User: canceled
end
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
Tip 👮 Agentic pre-merge checks are now available in preview!Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.
Please see the documentation for more information. Example: reviews:
pre_merge_checks:
custom_checks:
- name: "Undocumented Breaking Changes"
mode: "warning"
instructions: |
Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal). Please share your feedback with us on this Discord post. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice. I wonder if we should remove the demo videos. The page is pretty long
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (25)
docs/concepts/mcp-primitives.mdx (2)
359-359
: Sampling row reads “Coming Soon” but has ✅ across all transports.This can confuse readers about availability. Either mark transports with 🚧/
⚠️ or change Status to “Fully Supported” if that’s accurate.Apply one of these minimal diffs:
- | Sampling | ✅ | ✅ | ✅ | ✅ | Coming Soon | + | Sampling | 🚧 | 🚧 | 🚧 | 🚧 | Coming Soon |or
- | Sampling | ✅ | ✅ | ✅ | ✅ | Coming Soon | + | Sampling | ✅ | ✅ | ✅ | ✅ | Fully Supported |
364-376
: Minor copy: standardize “Summarise” -> “Summarize”.Keep US spelling consistent with the rest of the docs.
- "Summarise what are my prompts and resources?", + "Summarize what are my prompts and resources?",docs/configuration.mdx (2)
695-703
: Grammar and clarity fix in Cloud Secrets tab.
- Typo: trailing “.s”
- Consider a brief note that the CLI converts !developer_secret into stored handles during deploy.
- For mcp-agent cloud deployments, use mcp-agent cloud's secret management: + For mcp-agent cloud deployments, use the platform's secret management: @@ - api_key: !developer_secret + api_key: !developer_secret @@ - Mark which secrets you, as the developer, want to keep safe and secure.s + Mark which secrets you, as the developer, want stored securely. During deploy, these tags are converted into managed secret handles.
268-275
: Version claims may drift; add a note to verify current API versions/models.Azure
api_version: "2025-01-01-preview"
and other provider model IDs change frequently. Suggest a brief “verify latest” note in-line.docs/cloud/deploying-mcp-servers.mdx (4)
8-15
: Brand consistency: ensure all mentions use “mcp-agent cloud”.There are still occurrences of “MCP Agent Cloud” later (e.g., line 24, step text around line 88). Please unify.
-If you only need basic MCP server functionality without workflows, you can still benefit from MCP Agent Cloud's infrastructure. +If you only need basic MCP server functionality without workflows, you can still benefit from mcp-agent cloud's infrastructure.-# 4. Deploy to MCP Agent Cloud's managed infrastructure +# 4. Deploy to mcp-agent cloud's managed infrastructure
47-49
: CLI flow consistency.Elsewhere the login command varies between
mcp-agent login
andmcp-agent cloud auth login
. Pick one canonical form and use it across pages.
59-75
: Security: avoid eval() in docs example.Use a safe evaluator to avoid copy‑pasting unsafe patterns.
-async def calculate(expression: str) -> str: +async def calculate(expression: str) -> str: """Evaluate a mathematical expression.""" - result = eval(expression) # Note: Use safe evaluation in production + import ast, operator as op + # Safe eval example: parse and allow only numbers and basic ops + # (link to full example elsewhere if you have one) + result = str(ast.literal_eval(expression)) - return str(result) + return result
171-182
: CLI command mismatch.This block uses
mcp-agent cloud auth login
while other pages usemcp-agent login
oruv run mcp-agent login
. Standardize command names and prefixes (with/withoutuv run
) across the docs.docs/cloud/getting-started.mdx (6)
34-41
: Unify login command with other pages.Here it’s
mcp-agent login
; elsewhere we showuv run mcp-agent login
ormcp-agent cloud auth login
. Choose one canonical flow.
47-47
: Temporal as default in Quick Start: confirm expectation.Setting
execution_engine: temporal
in Quick Start is great for cloud, but the index page recommends asyncio for local. Add a one-liner clarifying “use temporal for cloud deployments.”
64-66
: Note text: minor clarity tweak.Explicitly state that the deploy command converts
!developer_secret
into managed secrets.- Swap your api_key with !developer_secret to mark what keys will be saved as secrets within mcp-agent cloud. + Replace raw API keys with `!developer_secret`. During deploy, these entries are stored securely and referenced by handles.
84-89
: Branding consistency.Bullet 4 says “MCP Agent Cloud’s managed infrastructure.” Use “mcp-agent cloud.”
- 4. Deploy to MCP Agent Cloud's managed infrastructure + 4. Deploy to mcp-agent cloud's managed infrastructure
229-244
: Claude Desktop snippet: align domain and token naming with other pages.Elsewhere:
deployments.mcp-agent.com
andBEARER_TOKEN
. Standardize URL/domain and token var naming across docs.- "https://deployments.mcp-agent.com/servers/web-summarizer/sse", + "https://deployments.mcp-agent.com/servers/web-summarizer/sse", @@ - "Authorization: Bearer <MCP_AGENT_API_KEY>" + "Authorization: Bearer ${MCP_AGENT_API_KEY}"
339-349
: Duplication with earlier secrets guidance; keep one canonical snippet.Consider linking back to Quick Start secrets block to avoid drift.
docs/cloud/agent-server.mdx (2)
149-160
: Login/deploy commands: keep consistent with Getting Started/Overview.This block uses
uv run mcp-agent ...
. Align across pages and decide whetheruv run
is required.
178-193
: Cloud JSON config: domain and JSON shape.
- Domain differs from other pages (
mcp-agent-cloud.lastmileai.dev
vsdeployments.mcp-agent.com
).- The snippet is a fragment; consider including the enclosing structure like the local example for symmetry.
-```json claude_desktop_config.json -"my_agent": { +```json claude_desktop_config.json +{ + "mcpServers": { + "my_agent": { @@ -} + } + } +}And standardize URL/token naming with other pages.
"https://deployments.mcp-agent.com/servers/<id>/sse" "Authorization: Bearer ${MCP_AGENT_API_KEY}"
docs/cloud/overview.mdx (5)
31-40
: Example correctness: undefined variable inresearch
.
results
is returned but never defined. Replace with a placeholder string or compute it.-async def research(query) -> str: +async def research(query: str) -> str: # this is where your agent logic exists (functions and calls) - return results + return f"Searched for: {query}"
54-56
: Stray backtick in login command.Remove the trailing backtick.
-uv run mcp-agent login` +uv run mcp-agent login
69-81
: Claude Desktop config: standardize domain and token.Align with other pages to reduce confusion.
- "https://[your-agent-server-id].deployments.mcp-agent-cloud.lastmileai.dev/sse", + "https://deployments.mcp-agent.com/servers/<id>/sse", @@ - "Authorization: Bearer ${BEARER_TOKEN}" + "Authorization: Bearer ${MCP_AGENT_API_KEY}"
111-113
: Broken link path.CLI Reference is at
/cli-reference
, not/cloud/cli-reference
.-- [CLI Reference](/cloud/cli-reference) +- [CLI Reference](/cli-reference)
102-106
: Example link copy tweaks.
- “github” → “GitHub”
- Add terminal period for sentence consistency.
-... from github. +... from GitHub.docs/index.mdx (4)
6-10
: Video asset LGTM; verify hosting permanence.GitHub user-attachments can be deleted; consider mirroring or adding a thumbnail fallback.
28-29
: Claim about “notifications”: add link or doc section.If notifications are supported, link to a section; otherwise drop to avoid implying unsupported features.
63-90
: Quick Example polish: typo and structure.
- Typo: “quatum” → “quantum”
- Running
app.run()
inside a tool is atypical; tools are usually invoked by the app/server. Consider moving the runnable demo toif __name__ == "__main__"
and keep the tool side-effect free.-async def research()->str: +async def research() -> str: @@ - Research quatum computing function / tool call + Research quantum computing function/tool call @@ - async with app.run() as mcp_agent_app: + async with app.run() as mcp_agent_app:Optional restructure:
- Define
research()
as a pure tool.- In
__main__
, call a separatemain()
that runs the app and invokes agent logic.
133-156
: Config snippet: keep provider examples consistent with cloud pages.Elsewhere the Quick Start for cloud uses
execution_engine: temporal
. Consider a short note here pointing to cloud guidance.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (8)
docs/cloud/agent-server.mdx
(4 hunks)docs/cloud/deploying-mcp-servers.mdx
(4 hunks)docs/cloud/getting-started.mdx
(7 hunks)docs/cloud/overview.mdx
(2 hunks)docs/concepts/mcp-primitives.mdx
(2 hunks)docs/configuration.mdx
(2 hunks)docs/docs.json
(2 hunks)docs/index.mdx
(8 hunks)
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-07-22T18:59:49.368Z
Learnt from: CR
PR: lastmile-ai/mcp-agent#0
File: examples/usecases/reliable_conversation/CLAUDE.md:0-0
Timestamp: 2025-07-22T18:59:49.368Z
Learning: Applies to examples/usecases/reliable_conversation/examples/reliable_conversation/src/**/*.py : Use mcp-agent's Agent abstraction for ALL LLM interactions, including quality evaluation, to ensure consistent tool access, logging, and error handling.
Applied to files:
docs/cloud/overview.mdx
docs/cloud/agent-server.mdx
docs/index.mdx
docs/cloud/deploying-mcp-servers.mdx
📚 Learning: 2025-07-22T18:59:49.368Z
Learnt from: CR
PR: lastmile-ai/mcp-agent#0
File: examples/usecases/reliable_conversation/CLAUDE.md:0-0
Timestamp: 2025-07-22T18:59:49.368Z
Learning: Applies to examples/usecases/reliable_conversation/examples/reliable_conversation/src/utils/config.py : Configuration values such as quality_threshold, max_refinement_attempts, consolidation_interval, and evaluator_model_provider must be loaded from mcp_agent.config.yaml.
Applied to files:
docs/cloud/getting-started.mdx
docs/index.mdx
🔇 Additional comments (4)
docs/docs.json (1)
71-71
: Branding change LGTM; check cross-doc consistency of the cloud group label."mcp-agent cloud" matches the rebrand elsewhere. Verify all internal links under this group still resolve and sidebar grouping renders as expected.
docs/cloud/deploying-mcp-servers.mdx (1)
184-198
: Benefits section LGTM after rebrand.Nice tightening of bullets; removal of Vault/regions avoids over-promising.
docs/cloud/agent-server.mdx (2)
20-34
: Decorator naming and usage: confirm API.Using
@app.tool
without parentheses is fine if the decorator is a property; just ensure it matches the actual API. The sync example is clear.
35-46
: Async tool semantics: verify@app.async_tool
name.Double‑check the public API is
async_tool
(vs e.g.,tool(async_=True)
or@app.workflow_tool
). If not, update naming to prevent user confusion.[suggest_minor_issue]
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
api_key: !developer_secret | ||
``` | ||
|
||
Mark which secrets you, as the developer, want to keep safe and secure.s |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Typo in documentation text: 's' at the end of the sentence should be removed. The line reads 'Mark which secrets you, as the developer, want to keep safe and secure.s' - the trailing 's' after the period is a typo that should be deleted.
Mark which secrets you, as the developer, want to keep safe and secure.s | |
Mark which secrets you, as the developer, want to keep safe and secure. |
Spotted by Diamond
Is this helpful? React 👍 or 👎 to let us know.
Screen.Recording.2025-09-15.at.3.44.11.PM.mov
Summary by CodeRabbit